﻿/*
heli_init.sqf
*/
/*
@author clint@team-r3f.org

Script éxécuté coté client.

Les classes d'unites autorisés pseuvent monter dans les hélico autorisés
pour aller lifter les véhicules autorisés.

La routine s'articule en 5 parties

1-heli_init.sqf
Le fichier d'initialisations general pour le lift

2-pilot_getin.sqf
Script princpal
Le script déclenché (EH) quand un joueur monte dans l'helico
Ce script gere l'attache

3-pilot_getout.sqf
Le script déclenché (EH) quand un joueur descend de l'helico

4-do_lift.sqf
Le script declenché sur actionmenu pour lifter le vehicule

4-undo_lift.sqf
Le script declenché sur actionmenu pour délifter le vehicule

*/

//------------------------------Reglages----------------------------

// Les véhicules pouvant lifter
Lift_Units = [];

//Les unités pouvant faire du liftage. Peut être vide pour autoriser tout le monde
Lift_Authorized_Pilote = [];

//Types des véhicules liftables
Lift_Authorized_Type = ["MtvrReammo","MTVR","HMMWV","HMMWV_Armored","HMMWV_TOW" ];

//Altitude minimale pour lifter
Lift_Altitude_Min = 3;

//Altitude maximal pour lifter
Lift_Altitude_Max = 12;

//Distance (hors altitude) maximale de l'objet à lifter
Lift_Distance_Max = 12;

//Position du véhicule lifté par rapport au lifteur quand il est accroché
Lift_Vehicule_Pos_Attache = [0,0,-13];

//Rayon Maximal de scrutation des véhicules à lifter
Lift_Approche_Max = 40;

//Installation des EH sur les hélicos concernés et si joueur correspond à un lifteur potentiel
if( ((count Lift_Authorized_Pilote)==0) || (typeOf player)  in lift_authorized_pilote ) then {
	
    //------------------------------Initialisation----------------------------
    //Par defaut le player n'est pas driver d'un véhicule liftant
    Lift_Player_Is_Driver = false;
	
	_heli_authorized = [];
	
	_k = 0;
	_not_found_count = 0;
	while {_not_found_count < 10} do {
		_var_name = format ["lift%1",_k];
		if (isnil _var_name) then {
			_not_found_count = _not_found_count + 1;
		} else {
			_not_found_count = 0;
			Lift_Units set [count Lift_Units, _var_name];
		};
		_k = _k + 1;
	};
	if (count Lift_Units > 0) then {
		{call compile format ["_heli_authorized = _heli_authorized + [%1]", _x]} forEach Lift_Units;
		{
			_x addeventhandler ["getin",  {_this execVM "base\helilift\pilot_getin.sqf";}];
			_x addeventhandler ["getout", {_this execVM "base\helilift\pilot_getout.sqf";}];
		} forEach _heli_authorized;
	};
};

if (true) exitWith {};